package com.alibaba.shopping_common.service;

import com.alibaba.shopping_common.pojo.Admin;
import com.alibaba.shopping_common.pojo.Permission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 *  管理员相关的CRUD服务
 */
public interface AdminService {

    /**
     * 新增管理员
     * @param admin
     */
    void addAdmin(Admin admin);

    /**
     * 根据id删除管理员
     * @param id
     */
    void delAdmin(Long id);

    /**
     * 更新管理员
     * @param admin
     */
    void updateAdmin(Admin admin);

    /**
     * 根据id查询单个管理员
     * @return
     */
    Admin queryAdminById(Long aid);


    /**
     * 分页查询
     * @param num 页码
     * @param size 每页大小
     * @return
     */
    Page<Admin> queryAdminByPage(int num,int size);

    /**
     * 修改管理员角色信息
     * @param id
     * @param rids
     */
    void updateAdminRole(Long id,Long[] rids);

    /**
     * 根据用户名查询Admin对象(用于登录)
     * @param userName
     * @return
     */
    Admin findByAdminName(String userName);

    /**
     * 根据用户名查询器拥有的所有权限
     * @param userName
     * @return
     */
    List<Permission> findAllPermission(String userName);
}
